package day03;

import java.util.Scanner;

public class WhileDemo {
    public static void main(String[] args) {
        /*
        while语法：
        while(boolean){
        }
        循环：反复多次执行一段相同或相似的代码
        循环三要素
        int a=5;                                //循环变量的初始化
        while (a<10){                           //循环的条件(以循环变量为基础)
            System.out.println("哈哈");
            a++;                                //循环变量的改变（向着结束去改变）
        }
         */
        /*
        int times = 0;
        while (times<5){
            System.out.println("行动是成功的阶梯");
            times++;
        }
        System.out.println("继续执行...");
         */
        /*
        执行过程：----------------带数
                            times=0
           true    输出      times=1
           true    输出      times=2
           true    输出      times=3
           true    输出      times=4
           true    输出      times=5
           false while循环结束
           输出继续执行......
         */
        /*
        //输出9的乘法表
        int a = 1;
        while (a<=9){
            System.out.println(a+"*9="+(a*9));
            a++;
        }
        System.out.println("继续执行...");
         */
        /*
        //猜数字
        Scanner scan = new Scanner(System.in);
        int num = (int)(Math.random()*1000+1);//1到1000之内的
        System.out.println(num);//作弊
        System.out.println("猜吧！");
        int guess = scan.nextInt();//1.
        while (guess!=num){//2.
            //guess与num的关系---------------有2种
            if (guess>num){
                System.out.println("猜大了");
            }else {
                System.out.println("猜小了");
            }
            System.out.println("猜吧！");
            guess = scan.nextInt();//3.
        }
        System.out.println("恭喜你猜对了！");
         */

        /*
        do...while结构
        语法：
        do{
            语句块//反复执行的代码
        }while(boolean);
         */
        /*
        int b=5;
        do{
            System.out.println("哈哈");
            b++;
        }while (b<8);
         */
        /*
        //猜数字
        Scanner scan = new Scanner(System.in);
        int num = (int)(Math.random()*100+1);//1到100之内的
        System.out.println(num);//作弊
        int guess;
        do {
            System.out.println("猜吧！");
            guess = scan.nextInt();//1+3
            //guess与num的关系-----------------------有3种
            if (guess>num){
                System.out.println("猜大了");
            }else if (guess<num){
                System.out.println("猜小了");
            }else {
                System.out.println("恭喜你猜对了");
            }
        }while (guess!=num);//2
         */

        /*
        补充：
        1.变量的作用域（范围）：
            ----从变量的声明开始，到包含它最近的大括号结束。
        2.变量的同名问题：
            ----作用域重叠时，变量不能同名
         */

        /*
        while与do...while的对比
        while：        先判断后执行，有可能一次都不执行
        do...while:    先执行后判断，最少执行一次
         */
    }
}
